Overview
Here is an accompanying video...
We'll look at a couple key (related) terms in the object-oriented problem solving world. They both help us design simpler solutions.
We want to understand them well:
Recap
Abstraction
If we have a car and only drive it but don't work on the engine or know about the engine then the engine is abstract.
- We have an engine but the details (the engine complexity) is effectively "hidden".
- We don't worry about "how it works"
- We just know it as an "idea"
- We know it does work
Generalization
If we have:
- pet cat "Fluffy"
- pet cat "Funny"
- pet cat "Wampy"
- ...
We could generalize to (if it fits the given situation):
We could generalize further (again if it fits the given situation):
References
Navigation
Data Structures And Algorithms (DSA)
(Chapter 201 - Generalization and Abstraction)